/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.gob.pnp.despachadores;

import java.sql.*;
import java.util.*;
import oracle.jdbc.*;
import pe.gob.pnp.actions.*;
import pe.gob.pnp.factories.*;

/**
 *
 * @author Eduardo Cavero Guzmán
 * @date 13/05/2010
 */
public class DocumentoDigitalizadoDespachador {
    public static List<DocumentoDigitalizado> obtenerDocumentosDigitalizadosPorExpediente(int nexpeIdentificador) throws SQLException {
        List<DocumentoDigitalizado> lstDocumentos = new ArrayList<DocumentoDigitalizado>();
        Connection conn = null;
        try {
            conn = ConnectionPool.obtenerConexion();
            String sql = "{call SP_OBTENER_DOCUMENTOS_EXP(?,?)}";
            CallableStatement cs = conn.prepareCall(sql);
            cs.setInt(1, nexpeIdentificador);
            cs.registerOutParameter(2, OracleTypes.CURSOR);
            cs.execute();
            ResultSet rs = (ResultSet) cs.getObject(2);
            while (rs.next()) {
                DocumentoDigitalizado documento = new DocumentoDigitalizado();
                documento.setNdodiIdentificador(rs.getInt("NDODI_IDENTIFICADOR"));
                TipoDocumento tipoDocumento = new TipoDocumento();
                tipoDocumento.setNtidoIdentificador(rs.getInt("NTIDO_IDENTIFICADOR"));
                tipoDocumento.setCtidoDescripcion(rs.getString("CTIDO_DESCRIPCION"));
                documento.setTipoDocumento(tipoDocumento);
                documento.setCdodiDescripcion(rs.getString("CDODI_DESCRIPCION"));
                lstDocumentos.add(documento);
            }
        } finally {
            ConnectionPool.liberarConexion(conn);
        }
        return lstDocumentos;
    }

}
